/**
 * 指令类型\
 * 监听某个动作的派发
 */
export const TAKE = 'TAKE'

/**
 * 指令类型\
 * 向仓库派发某个动作
 */
export const PUT = 'PUT'

/**
 * 指令类型\
 * 开启一个新的子进程来执行 saga 生成器函数
 */
export const FORK = 'FORK'


/**
 * 指令类型\
 * 运行一个函数并等待该函数执行完毕才继续执行当前 saga 生成器函数\
 *   如果该函数返回的是一个 promise 实例则等待该 promise 为成功态后再执行执行当前 saga 生成器函数
 */
export const CALL = 'CALL'

/**
 * 指令类型\
 * 运行一个函数并将函数的返回值通过 callback 函数的形式传递给 yield
 */
export const CPS = 'CPS'

/**
 * 指令类型\
 * 并行执行所有的 迭代器对象 后再执行当前 saga 生成器函数 \
 *   如果有一个迭代器抛出错误 则会立即停止其他 effect 执行 并抛出错误\
 * 返回一个数组 数组中每个元素对应迭代器对象最后返回的值
 */
export const ALL = 'ALL'

/**
 * 指令类型\
 * 取消当前 saga 生成器函数的后续执行
 */
export const CANCEL = 'CANCEL'
